<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="app">
        <input type="text" v-model.number="num1">
        <span>*</span>
        <input type="text" v-model.number="num2">
        <span>=</span>
        <!-- <span>{{ result() }}</span> -->
        <!-- 计算属性虽然本质上是函数，但是用的时候要当普通属性来用 -->
        <!-- 普通属性可以怎么用，计算属性就能怎么用 -->
        <span>{{ result }}</span>
        <span>{{ result }}</span>
        <span>{{ result }}</span>
        <span>{{ result }}</span>
        <span>{{ result }}</span>
    </div>

    <script src="./vue.js"></script>
    <script>
        new Vue({
            el: '#app',
            data() {
                return {
                    num1: 0,
                    num2: 0
                }
            },
            // 写计算属性的地方
            computed: {
                // 计算属性本质就是一个函数
                // 计算属性有缓存，它只会在第一次使用时调用一次，然后产生一个结果，再把这个结果缓存起来
                // 后面每次用都是直接从缓存里获取的
                // 直到它的任何依赖项发生改变，才会重新调用并得到一个新的结果，再把新的结果缓存起来
                // 什么叫它的依赖项？就是它内部用到的别的数据，都叫依赖项
                result () {
                    console.log('result被调用了')
                    return this.num1 * this.num2
                }
            }
        })
    </script>
</body>
</html>